#include "StaticJavaLib.h"
#include "gc.h"
struct UnaryOps{
};

int UnaryOps_unaryPlus(int i){
  return +i;
}

int UnaryOps_unaryMinus(int i){
  return -i;
}

bool UnaryOps_not(bool b){
  return !b;
}

int UnaryOps_complement(int i){
  return ~i;
}

void main(int argc,char** argv){
  StaticJavaLib_assertTrue(UnaryOps_unaryPlus(2) == 2);
  StaticJavaLib_assertTrue(UnaryOps_unaryPlus(-2) == -2);
  StaticJavaLib_assertTrue(UnaryOps_unaryMinus(2) == -2);
  StaticJavaLib_assertTrue(UnaryOps_unaryMinus(-2) == 2);
  StaticJavaLib_assertTrue(true);
  StaticJavaLib_assertTrue(!false);
  StaticJavaLib_assertTrue(UnaryOps_not(true) == false);
  StaticJavaLib_assertTrue(UnaryOps_not(false) == true);
  StaticJavaLib_assertTrue(UnaryOps_complement(-5) == 4);
  gc_recycle();
}
